This invention relates to digital data processing systems and particularly to such systems in which a plurality of data processing devices are interconnected as nodes in a telecommunication network.
Many users of digital data processing systems have separate processors in each of several geographically remote areas. Each local processing system may have a data base organized to reflect the user's activities in that particular area and its own network of terminals able to inquire of or update the local data base. When requests from one area require data from a data base held in a different area, until now it has been necessary to establish a communication connection between the two areas manually or through some intermediate controller before the appropriate data can be exchanged between the two systems, and to write special code in the application programs making the request. The connection could be made through modems connected to the public telephone switching network, or through dedicated data link lines.
British Pat. No. 1,411,182 describes a data processing system in which a plurality of separately operable data processors are connected to have access to any one of a plurality of memory units. The control of the system is by an allocation device which allocates programs to the processors. A program runs only on one processor, and does not initiate a request for the use of a resource held by a separate processor. British Pat. No. 1,476,212 also describes a data processing system in which a plurality of processors have connections to a common memory or data base. This latter system likewise has no provision whereby a program being run on one processor can initiate a request for the use of a resource held on a different processor.
U.S. Pat. No. 3,483,520 (which is cross-referenced for disclosure purposes to U.S. Pat. No. 3,444,525) shows a system of independently operating data processors, each running its own application program, wherein any processor may send to another processor a request for work to be performed by the second processor in behalf of the first processor. In this system, any such request must be routed through a central controller and cannot pass directly from one processor to the other. An arrangement such as this limits the distance by which each processor may be separated from the other processors in the system and requires that all processors be located in the general vicinity of the central controller. Moreover, it requires the provision and maintenance of special control hardware in addition to the data processors.
None of the above references show processors at locations remote from each other and communicating automatically with each other in the absence of an intermediate controller. It is obviously desirable for users to be able to link geographically remote data processing systems into a network wherein requests from one node of the network for the use of resources held at other nodes of the network can be handled automatically by the system in a direct node-to-node communicating relationship, whether the request is for data, updating a data base or for the processing of data held at a remote location. It is further evident that this type of data communicating relationship is highly useful whether the data processing systems are located in different areas of a common work site or are located many hundreds, if not thousands, of miles from each other. Hence, references to "remote" systems or locations in the present description should not be taken to mean that the intersystem data communication problem just mentioned is limited to systems having widely separated nodes, although this is where the problem becomes most acute.